﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x02000799 RID: 1945
	public class CVRScreenshots
	{
		// Token: 0x06002F0C RID: 12044 RVA: 0x000F3C8C File Offset: 0x000F1E8C
		internal CVRScreenshots(IntPtr pInterface)
		{
			this.FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots));
		}

		// Token: 0x06002F0D RID: 12045 RVA: 0x000F3CB0 File Offset: 0x000F1EB0
		public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename)
		{
			pOutScreenshotHandle = 0U;
			return this.FnTable.RequestScreenshot(ref pOutScreenshotHandle, type, pchPreviewFilename, pchVRFilename);
		}

		// Token: 0x06002F0E RID: 12046 RVA: 0x000F3CD8 File Offset: 0x000F1ED8
		public EVRScreenshotError HookScreenshot(EVRScreenshotType[] pSupportedTypes)
		{
			return this.FnTable.HookScreenshot(pSupportedTypes, pSupportedTypes.Length);
		}

		// Token: 0x06002F0F RID: 12047 RVA: 0x000F3CFC File Offset: 0x000F1EFC
		public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError)
		{
			return this.FnTable.GetScreenshotPropertyType(screenshotHandle, ref pError);
		}

		// Token: 0x06002F10 RID: 12048 RVA: 0x000F3D20 File Offset: 0x000F1F20
		public uint GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError)
		{
			return this.FnTable.GetScreenshotPropertyFilename(screenshotHandle, filenameType, pchFilename, cchFilename, ref pError);
		}

		// Token: 0x06002F11 RID: 12049 RVA: 0x000F3D48 File Offset: 0x000F1F48
		public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle, float flProgress)
		{
			return this.FnTable.UpdateScreenshotProgress(screenshotHandle, flProgress);
		}

		// Token: 0x06002F12 RID: 12050 RVA: 0x000F3D6C File Offset: 0x000F1F6C
		public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename)
		{
			pOutScreenshotHandle = 0U;
			return this.FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle, pchPreviewFilename, pchVRFilename);
		}

		// Token: 0x06002F13 RID: 12051 RVA: 0x000F3D94 File Offset: 0x000F1F94
		public EVRScreenshotError SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename)
		{
			return this.FnTable.SubmitScreenshot(screenshotHandle, type, pchSourcePreviewFilename, pchSourceVRFilename);
		}

		// Token: 0x04002AE9 RID: 10985
		private IVRScreenshots FnTable;
	}
}
